home *** CD-ROM | disk | FTP | other *** search
- #ifndef f_SYLIA_SCRIPTINTERPRETER_H
- #define f_SYLIA_SCRIPTINTERPRETER_H
-
- class CScriptValue;
- class CScriptError;
- struct CScriptObject;
- class IScriptInterpreter;
-
- typedef CScriptValue (*ScriptRootHandlerPtr)(IScriptInterpreter *,char *,void *);
-
- class IScriptInterpreter {
- public:
- virtual void Destroy() =0;
-
- virtual void SetRootHandler(ScriptRootHandlerPtr, void *) =0;
-
- virtual void ExecuteLine(char *s) =0;
-
- virtual void ScriptError(int e) =0;
- virtual const char* TranslateScriptError(CScriptError& cse) =0;
- virtual char** AllocTempString(long l) =0;
-
- virtual CScriptValue LookupObjectMember(CScriptObject *obj, void *, char *szIdent) = 0;
- };
-
- IScriptInterpreter *CreateScriptInterpreter();
-
- #define GETPROC_CREATESCRIPTINTERPRETER(hInst) ((IScriptInterpreter *(__stdcall *)())GetProcAddress(hInst, "_CreateScriptInterpreter@0"))
-
- #define EXT_SCRIPT_ERROR(x) (isi->ScriptError((CScriptError::x)))
-
- #endif
-